A) Liste des commandes
1)
Analyses
standards
.OP (point
de polarisation)
.AC (analyse
AC)
.DC (analyse
DC)
.FOUR (analyse
de Fourier)
.SENS (analyse
de sensibilité)
.TF (transfert)
.NOISE (analyse
de bruit)
.TRAN (analyse
transitoire)
2)
Contrôle
de sortie
.PLOT (tracé)
3)
Traitement
des fichiers de circuits
.END (fin
de circuit)
.FUNC (fonction)
.INC (fichier
inclus)
.LIB (fichier
bibliothèque)
.PARAM (paramètre)
4)
Analyses
statistiques
.MC (analyse
de Monte Carlo)
.WCASE (analyse
de sensibilité)
5)
Modélisation
d'appareils
.ENDS (fin
de sous-circuit)
.DISTRIBUTION (distribution
définie par l'utilisateur)
.MODEL (définition
du modèle)
.SUBCKT (sous-circuit)
6) Conditions
initiales
.IC (condition
initiale du point de polarisation)
7)
Analyses
multi-séries simples
.STEP (analyse
paramétrique)
.TEMP (température)
8)
Divers
.ALIASES, .ENDALIASES (alias et fin d'alias)
.OPTIONS (options
d'analyse)
.STIMLIB (fichier
bibliothèque de stimulus)
.STIMULUS (stimulation)
.TEXT (paramètre
texte)
* (commenter)
; (commentaire
en ligne)
+ (suite
de la ligne)
B) Commandes
-
Commandes
.OP (point de polarisation)
Objectif
La
commande .OP permet de générer un point de polarisation.
Forme générale
.OP
Exemples
.OP
L'utilisation
d'une commande .OP calcule les paramètres de petit signal (linéarisés) de
toutes les sources contrôlées et tous les dispositifs semi-conducteurs.
La commande .OP
contrôle la sortie pour le point de polarisation normal en analyse de
polarisation. Le .TRAN (analyse transitoire) contrôle la sortie à partir
uniquement du premier point de polarisation de l’analyse transitoire, les
autres points suivent celui-ci. Le point de polarisation peut être ignoré à
partir des paramètres du circuit (voir l’aide en ligne) en particulier lorsque
celui-ci n’est pas stable.
Objectif
La
commande .AC calcule la réponse en fréquence d'un circuit sur une plage de
fréquences.
Forme générale
.AC <type
de balayage> <valeur des points>
+ <valeur
de fréquence de début> <valeur de fréquence de fin>
Exemples
.AC LIN 101 100Hz
200Hz
.AC OCT 10 1kHz
16kHz
.AC DEC 20 1MEG
100MEG
Arguments et
options
<type de
balayage>
Doit être LIN,
OCT ou DEC, comme décrit ci-dessous.
Balayage
linéaire LIN.
La fréquence est
balayée linéairement à partir de la fréquence de début jusqu’à la fréquence de
fin. La <valeur des points> est le nombre total de points dans le
balayage.
Balayage OCT
par octaves.
La fréquence est
balayée logarithmiquement par octaves. La <valeur des points> est le
nombre de points par octave.
Balayage DEC
par décennies.
La fréquence est
balayée logarithmiquement par décennies. La <valeur des points> est le
nombre de points par décennie.
-
.ALIASES,
.ENDALIASES (alias et endalias)
Objectif
Les
commandes .Aliases établissent des équivalences entre les noms
de nœuds et les noms de broches, de sorte que les traces dans l'affichage de la
sonde peuvent être identifié en nommant un périphérique et une broche au lieu
d'un nœud. Elles sont également utilisées pour associer un nom de réseau à un
nom de nœud.
Forme générale
.ALIASES
<nom de
l'appareil> <alias de l'appareil> (<<pin>=<nœud>>)
_ _
(<<net>=<nœud>>)
.ENDALIASES
Exemples
.ALIASES
R_RBIAS RBIAS (1=$N_0001
2=VDD)
Q_Q3 Q3
(c=$N_0001 b=$N_0001 e=VEE)
_ _ (OUT=$N_0007)
.ENDALIASES
La
première définition d'alias présentée dans l'exemple permet d'utiliser le nom
RBIAS comme alias pour R_RBIAS, et il associe la broche 1 du périphérique
R_RBIAS au nœud $N_0001 et la broche 2 au VDD.
La dernière
définition d'alias du nom de réseau OUT équivaut au nom de nœud $N_0007.
Objectif
La
commande .DC effectue une analyse de balayage DC linéaire, logarithmique ou
imbriquée sur le circuit.
L'analyse de
balayage DC calcule le point de polarisation du circuit sur une plage de
valeurs pour le <nom de la variable de balayage>.
Type de
balayage
Le
balayage peut être linéaire, logarithmique ou une liste de valeurs.
Balayage
linéaire LIN.
La variable de
balayage est balayée linéairement à partir de la fréquence de début à la valeur
finale.
Balayage par
octaves OCT.
La variable de
balayage est balayée logarithmiquement par octaves.
Balayer par
décennies DEC.
La variable de
balayage est balayée logarithmiquement par décennies.
Liste de
valeurs LIST.
Utilisez une
liste de valeurs.
Balayage
linéaire
Balayage
logarithmique
Forme générale
.DC [LIN] <nom
de la variable de balayage>
+ <valeur
de départ> <valeur de fin> <valeur d'incrément>
+
[spécification de balayage imbriqué]
Exemples
.DC VIN -.25 .25
.05
.DC LIN I2 5mA
-2mA 0.1mA
.DC VCE 0V 10V
.5V IB 0mA 1mA 50uA
.DC RES RMOD(R)
0.9 1.1 .001
Forme générale
.DC <type
de balayage logarithmique> <nom de la variable de balayage>
+ <valeur
de départ> <valeur de fin> <valeur de points>
+
[spécification de balayage imbriqué]
Exemples
.DC DEC NPN
QFAST(IS) 1E-18 1E-14 5
Arguments et
options
<type de
balayage logarithmique>
Doit être
spécifié comme DEC (pour balayer par décades) ou OCT (pour balayer par
octaves).
- Commandes .DISTRIBUTION (distribution définie par l'utilisateur)
Dérivation des
valeurs de paramètres mises à jour
La
valeur mise à jour d'un paramètre est dérivée d'une combinaison d'un nombre
aléatoire, la distribution et la tolérance spécifiée. Cette méthode permet des
distributions qui ont différentes excursions dans les sens positif et négatif.
Il permet également l'utilisation d'une distribution même si les tolérances des
composants sont différentes tant que la forme générale des distributions sont
les mêmes.
1 Générez un
<nombre aléatoire temporaire> dans la plage (0, 1).
2 Normalisez la
zone sous la distribution spécifiée.
3 Réglez le
<nombre aléatoire final> au point où la zone sous la distribution est
égale au <nombre aléatoire temporaire>.
4 Multipliez ce
<nombre aléatoire final> par la tolérance spécifiée.
Objectif
La
commande .DISTRIBUTION définit une distribution utilisateur pour les
tolérances, et n'est utilisée qu’avec Monte Carlo et l’analyses de sensibilité.
La commande
.DISTRIBUTION contrôle la distribution de probabilité relative des nombres
aléatoires générés pour calculer les écarts des paramètres du modèle.
Forme générale
DISTRIBUTION <nom>
(<écart> <probabilité>)*
Exemples
.DISTRIBUTION
bi_modal (-1,1) (-.5,1) (-.5,0) (.5,0)
+ (.5,1) (1,1)
.DISTRIBUTION
triangulaire (-1,0) (0,1) (1,0)
Arguments et
options
<écart>
Doit
être dans la plage (-1,+1), qui correspond à la plage du générateur de nombres
aléatoires.
Aucune <écart>
ne peut être inférieure à la précédente <écart> de la liste, bien
qu'elle puisse répéter la valeur précédente.
<probabilité>
Représente
une probabilité relative et doit être positif ou nul.
Commentaires
Une
distribution définie par l'utilisateur peut être spécifiée par défaut en
définissant le paramètre DISTRIBUTION dans la commande .OPTIONS (options d'analyse).
Exemple
d'utilisation
Pour
illustrer, supposons qu'il existe un condensateur de 1,0µf qui a une variation
de -50% à +25%, et un autre qui a des tolérances de -10% à +5%. Notez que les
tolérances des deux condensateurs sont dans la même forme générale,
c'est-à-dire que les deux ont des excursions négatives deux fois plus grandes
que leurs valeurs positives d’excursions.
.distribution
cdistrib (-1,1) (.5, 1) (.5, 0) (1, 0)
c1 1 0 cmod1 11u
c2 1 0 cmod2 1u
.model cmod1 cap
(c=1 dev/cdistrib 50%)
.model cmod2 cap
(c=1 dev/cdistrib 10%)
Les étapes
suivies pour cet exemple sont les suivantes :
1 Générez une
<valeur aléatoire temporaire> de 0,3.
2 Normalisez la
zone sous la distribution cdistrib (1.5) à 1.0.
3 Le <nombre
aléatoire final> est donc -0,55 (le point où l'aire normalisée est égale à
0,3).
4 Pour c1, ce
-0,55 est ensuite mis à l'échelle de 50 %, ce qui donne -0,275. Pour c2, il est
mis à l'échelle de 10%, résultant en -0,055.
Des nombres
aléatoires distincts sont générés pour chaque paramètre qui a une tolérance.
-
Commandes
.END (fin de circuit)
.END (fin de
circuit)
Objectif
La
commande .END marque la fin du circuit. Toutes les données et toutes les autres
commandes doivent venir avant.
Forme générale
.END
Exemples
* 1er circuit
dans le fichier
... définition du
circuit
.END
* 2ème circuit au
dossier
... définition du
circuit
.END
La dernière
instruction dans un fichier d'entrée doit être une commande .END.
-
La
commande .FOUR (analyse de Fourier)
Objectif
L'analyse
de Fourier décompose les résultats d'une analyse transitoire en composantes de
Fourier.
Forme générale
.FOUR <valeur
de fréquence> [n°. valeur des harmoniques] <variable de sortie>
Exemples
.FOUR 10 kHz V(5)
V(6,7) I(VSENS3)
.FOUR 60Hz 20
V(17)
.FOUR 10 kHz
V([OUT1],[OUT2])
.FUNC (fonction)
Objectif
La
commande .FUNC définit les fonctions utilisées dans les expressions. Outre leur
évidente flexibilité, elles sont utiles lorsqu'il existe plusieurs
sous-expressions similaires dans un fichier de circuit.
Forme générale
.FUNC <nom>
([arg]*) {<body>}
Exemples
.FUNC E(x)
{exp(x)}
.FUNC DECAY(CNST)
{E(-CNST*TIME)}
.FUNC TRIWAV(x)
{ACOS(COS(x))/3.14159}
.FUNC MIN3(A,B,C)
{MIN(A,MIN(B,C))}
Arguments et
options
.FUNC
doit précéder la première utilisation du nom de la fonction. Les fonctions ne
peuvent pas être redéfinies et le nom de la fonction ne doit pas être le même
que l'une des fonctions prédéfinies (par exemple, SIN et SQRT).
Les arguments ne
peuvent pas être des noms de nœud.
<body>
Fait
référence à d'autres fonctions (précédemment définies), le deuxième exemple,
DECAY, utilise le premier exemple, E.
[arg]
Spécifie jusqu'à
10 arguments dans une définition. Le nombre d'arguments dans l'utilisation
d'une fonction doit être en accord avec le nombre dans la définition. Les
fonctions peuvent être définies comme ayant pas d'arguments, mais les
parenthèses sont toujours nécessaires. Les paramètres, TIME, les autres
fonctions, et la variable s de Laplace sont autorisées dans le corps des
définitions de fonctions.
Commentaires
Le <body>
d'une fonction définie est traité de la même manière que toute expression
mathématique, il est entouré d'accolades {}.
Créer un fichier
de définitions .FUNC fréquemment utilisées et y accéder à l'aide une commande
.INC près du début du fichier de circuit peut être utile. Les commandes .FUNC
peuvent également être définies dans des sous-circuits. Dans ces cas, ils n'ont
qu’une portée locale.
-
Commandes
.IC (condition initiale du point de polarisation)
Objectif
La
commande .IC définit les conditions initiales pour les points de polarisation
des petits signaux et des transitoires. Les conditions initiales peuvent être
données pour certains ou pour tous les nœuds du circuit.
.IC définit les
conditions initiales pour le point de polarisation uniquement. Il n'affecte pas
un .DC (analyse DC).
Forme générale
.IC < V(<nœud>
[,<nœud>])=<valeur> >*
.IC <I(<inducteur>)=<valeur>>*
Exemples
.IC V(2)=3.4
V(102)=0 V(3)=-1V I(L1)=2uAmp
.IC V(InPlus,InMinus)=1e-3
V(100,133)=5.0V
-
Commandes
.INC (fichier inclus)
Objectif
La
commande .INC insère le contenu d'un autre fichier.
Forme générale
.INC <nom
de fichier>
Exemples
.INC
"SETUP.CIR"
.INC
"C:\LIB\VCO.CIR"
-
Commandes
.LIB (fichier bibliothèque)
Objectif
La
commande .LIB référence un modèle ou une bibliothèque de sous-circuits dans un
autre fichier.
Forme générale
.LIB [nom_fichier]
Exemples
.LIB
.LIB linear.lib
.LIB
"C:\lib\bipolaire.lib"
-
Commandes
.MC (analyse Monte Carlo)
Objectif
La
commande .MC provoque une analyse Monte Carlo (statistique) du circuit et
effectue plusieurs analyses de l'analyse sélectionnée (DC, AC ou transitoire).
Forme générale
.MC <#valeur
d'exécutions> <analyse> <variable de sortie> <fonction>
[option]*
+ [SEED=valeur]
Exemples
.MC 10 TRAN V(5)
YMAX
.MC 50 DC IC (Q7)
YMAX LIST
.MC 20 AC
VP(13,5) YMAX LIST OUTPUT ALL
.MC 10 TRAN
V([OUT1],[OUT2]) YMAX SEED=9321
Arguments et
options
<#valeur
d'exécution>
Le
nombre total d'analyses à effectuer.
<analyse>
Spécifie
au moins un type d'analyse : .DC (analyse
DC), .AC (analyse AC) ou .TRAN (analyse transitoire). Cette analyse est répétée dans les
passes suivantes. Toutes les analyses que contient le circuit sont effectuées
pendant la passe nominale. Seule l'analyse sélectionnée est effectuée lors des
passes suivantes.
<variable
de sortie>
Format
identique à celui d'une variable de sortie.
<fonction>
Spécifie
l'opération à effectuer sur les valeurs de <variable de sortie>
pour réduire celles-ci à une seule valeur. Cette valeur sert de base aux
comparaisons entre le nominal et les exécutions suivantes. La <fonction>
peut être l'une des suivantes :
Définition de
la fonction
YMAX Trouver la
valeur absolue de la plus grande différence de chaque forme d'onde de la course
nominale.
MAX Trouver la
valeur maximale de chaque forme d'onde.
MIN Trouver la
valeur minimale de chaque forme d'onde.
RISE_EDGE(<valeur>)
Recherche la première occurrence de la forme d'onde franchissant le seuil
<valeur>. La forme d'onde doit comporter un ou plusieurs points égaux ou
inférieurs à <valeur>, suivis d'un point supérieur. La valeur de sortie
indiquée correspond au premier point où la forme d'onde dépasse <valeur>.
FALL_EDGE(<valeur>)
Recherche la première occurrence de la forme d'onde franchissant le seuil
<valeur>. La forme d'onde doit comporter un ou plusieurs points égaux ou
supérieurs à <valeur>, suivis d'un point inférieur. La valeur de sortie
indiquée correspond au point où la forme d'onde décroît en dessous de
<valeur>.
MAXMIN Trouver la
valeur maximale et minimale de chaque forme d’onde.
<fonction>
et toutes les [option]s (sauf pour <type de sortie>) n'ont
aucun effet sur les données de sonde enregistrées à partir de la simulation.
Ils ne s'appliquent qu'à l'affichage.
[option]*
Peut
inclure zéro ou plusieurs des options suivantes :
Exemple de
définition d'option
LIST, liste au
début de la simulation, les valeurs des paramètres du modèle effectivement
utilisé pour chaque composant ayant un DEV/LOT différent de 0.
OUTPUT <type
de sortie>
Demande une
sortie de courses suivantes, après la nominale (première exécution). Le <type
de sortie> est l'un des ceux montrés dans les exemples.
ALL
force la génération de toutes les sorties (y compris la course nominale).
RUNS
<N>* effectue l'analyse et génère une sortie uniquement pour la
liste qui s'exécute.
RANGE(<valeur
faible>,<valeur élevée>)
* Si RANGE est
omis, alors la <fonction> est évaluée sur toute la plage de
balayage. Ceci équivaut à RANGE(*,*).
Limite la plage
sur laquelle <fonction> est évalué. Un astérisque (*) peut être
utilisé à la place d'une <valeur> à afficher pour tous valeurs.
YMAX RANGE(*,.5)
YMAX est évalué pour les valeurs de la variable de balayage (par exemple, temps
et fréquence) de 0,5 ou moins.
MAX RANGE(-1,*)
Le maximum de la variable de sortie est trouvée pour les valeurs de la variable
de balayage de -1 ou plus.
[SEED=valeur]
Définit
le générateur de nombres aléatoires dans l'analyse Monte Carlo.
<valeur>
Doit
être un entier impair compris entre 1 et 32767. Si la valeur de départ n'est
pas définie, sa valeur par défaut la valeur est 17533.
Pour presque
toutes les analyses, la valeur de départ par défaut est adéquate pour obtenir
un ensemble constant de résultats.
Commentaires
La
première exécution utilise les valeurs nominales de tous les composants. Les
exécutions suivantes utilisent des variations sur le modèle de paramètres tels
que spécifiés par les tolérances DEV et LOT sur chaque .MODEL (définition du modèle) paramètre.
Les autres
spécifications de la commande .MC contrôlent la sortie générée par l'Analyse de
Monte Carlo.
-
Commandes
.MODEL (définition du modèle)
Objectif
La
commande .MODEL définit un ensemble de paramètres d'appareil pouvant être
référencés par les appareils dans le circuit.
Forme générale
.MODEL <nom du modèle> [AKO : <nom du modèle de référence>]
+ <type de
modèle>
+ ([<nom du
paramètre> = <valeur> [spécification de tolérance]]*
+
[T_MEASURED=<valeur>] [[T_ABS=<valeur>] ou
+ [T_REL_GLOBAL=<valeur>]
ou [T_REL_LOCAL=<valeur>]])
Exemples
.MODEL RMAX RES
(R=1.5 TC1=.02 TC2=.005)
.MODEL DNOM D
(IS=1E-9)
.MODEL QDRIV NPN
(IS=1E-7 BF=30)
.MODEL MLOAD
NMOS(LEVEL=1 VTO=.7 CJ=.02pF)
.MODEL CMOD CAP
(C=1 DEV 5%)
.MODEL DLOAD D
(IS=1E-9 DEV .5% LOT 10%)
.MODEL RTRACK
RES (R=1 DEV/GAUSS 1% LOT/UNIFORM 5%)
.MODEL QDR2
AKO:QDRIV NPN (BF=50 IKF=50m)
Arguments et
options
<nom du
modèle>
Le
nom du modèle utilisé pour référencer un modèle particulier.
<nom du
modèle de référence>
Les
types de modèle du modèle actuel et du modèle de référence AKO (A Kind Of)
doivent être les mêmes. La valeur de chaque paramètre du modèle référencé est
utilisée sauf si elle est remplacée par le modèle actuel, par exemple, pour
QDR2 dans le dernier exemple, la valeur de IS dérive de QDRIV, mais les valeurs
de BF et IKF proviennent de la définition actuelle. Valeurs des paramètres ou
les formules sont transférées, mais pas la spécification de tolérance. Le
modèle référencé peut être dans le fichier de circuit principal, accessible via
une commande .INC, où il peut être dans un fichier de
bibliothèque, voir .LIB (fichier bibliothèque).
<type de
modèle>
Doit être l'un
des types décrits dans le tableau qui suit.
Les appareils ne
peuvent référencer que des modèles d'un type correspondant, par exemple :
• Un JFET peut
référencer un modèle de type NJF ou PJF, mais pas de type NPN.
• Il peut y avoir
plus d'un modèle du même type dans un circuit, bien qu'ils doivent avoir des
noms différents.
Après le <type
de modèle> se trouve une liste de valeurs de paramètres entourées de
parenthèses. Rien, tout ou partie des paramètres peuvent se voir attribuer des
valeurs. Les valeurs par défaut sont utilisées pour tous paramètres non
affectés. Les listes de noms de paramètres, de significations et de valeurs par
défaut sont trouvées dans les descriptions individuelles des appareils.
Commandes
.MODEL (définition du modèle)
CAP Cxxx Condensateur
CORE Kxxx Noyau
magnétique non linéaire (transformateur)
D Dxxx Diode
NMF Bxxx (GASFET)
MESFET GaAs canal N
PMF Bxxx MESFET
GaAs canal P
IND Lxxx Inductance
ISWITCH Wxxx Interrupteur
à commande de courant
LPNP Qxxx Transistor
bipolaire PNP latéral
NIGBT Zxxx (IGBT)
Transistor bipolaire à grille isolée canal N
PIGBT Zxxx Transistor
bipolaire à grille isolée canal P
NJF Jxxx FET
à jonction à canal N
NMOS Mxxx MOSFET
à canal N
NPN Qxxx Transistor
bipolaire canal N
PJF Jxxx FET
à jonction de canal P
PMOS Mxxx MOSFET
canal P
PNP Qxxx Transistor
bipolaire canal P
NCHAN Mxxx Transistors
VMOS canal N
PCHAN Mxxx Transistors
VMOS canal P
RES Rxxx Résistance
TRN Txxx Ligne
de transmission avec perte
UEFF Uxxx Bascule
à déclenchement par front
UGATE Uxxx Porte
standard
UGFF Uxxx Fermeture
Flip-Flop
UTGATE Uxxx Porte
à trois états
VSWITCH Sxxx Commutateur
commandé en tension
NTFET Nxxx Transistors
Tunnel à effet de champ canal N
PTFET Nxxx Transistors
Tunnel à effet de champ canal P
NHFET Nxxx Transistors
Hetero structure à effet de champ N
PHFET Nxxx Transistors
Hetero structure à effet de champ P
[spécification
de tolérance]
Ajouté
à chaque paramètre, en utilisant le format :
[DEV [piste&dist]
<valeur>[%]] [LOT [piste&dist] <valeur>[%]]
Pour
spécifier un appareil individuel (DEV) et la valeur du paramètre du lot
d'appareils (LOT) écarts. La spécification de tolérance est utilisée par la
commande .MC (analyse Monte Carlo).
La tolérance LOT exige
que tous les appareils faisant référence au même modèle utilisent les mêmes
ajustements au paramètre du modèle. Les tolérances DEV sont indépendantes,
c'est-à-dire chaque appareil varie indépendamment. Le % indique une tolérance
relative (pourcentage). S'il est omis, <valeur> est dans les mêmes
unités que le paramètre lui-même.
[piste&dist]
Spécifie
le suivi et la distribution le nom par défaut, en utilisant le format :
[/<lot
#>][/<nom de distribution>].
Ces
spécifications doivent suivre immédiatement les mots clés DEV et LOT (sans
espaces) et sont séparés par /.
<lot #>
Spécifie
lequel des dix générateurs de nombres aléatoires, numérotés de 0 à 9, est
utilisé pour calculer les écarts de valeur des paramètres. Cela permet de
corréler les écarts entre paramètres dans le même modèle, ainsi qu'entre
modèles. Les générateurs pour DEV et Les tolérances LOT sont distincts : il y a
dix générateurs pour le suivi DEV et dix générateurs pour le suivi de LOT. Les
tolérances sans <lot #> sont attribuées aléatoirement générées
individuellement.
<nom de la
distribution>
Le
nom de distribution est l'un des suivants. La distribution par défaut peut être
définie en utilisant le paramètre DISTRIBUTION de la commande .OPTIONS (options d'analyse).
Distribution
UNIFORM
Génère des écarts
uniformément répartis sur la plage ±<valeur>.
GAUSS
Génère des écarts
à l'aide d'une distribution gaussienne sur la plage ±3σ et <valeur>
spécifient l'écart de ±1 ( (c'est-à-dire que cela génère des écarts supérieurs
à ±<valeur>).
<nom
d'utilisateur>
Génère des écarts
à l'aide d'une distribution définie par l'utilisateur et <valeur>
spécifie l'écart de ±1 dans la définition de l'utilisateur, voir le .DISTRIBUTION (distribution définie par l'utilisateur).
Commentaires
Les
exemples concernent le paramètre .MODEL. Le dernier exemple utilise la syntaxe AKO pour référencer les
paramètres du modèle QDRIV dans le troisième exemple.
Paramètres de
réglage de la température
Certains
dispositifs passifs et semi-conducteurs (C, L, R, B, D, J, M et Q) ont deux
niveaux d’attributs de température qui peuvent être personnalisés modèle par
modèle.
Premièrement, la
température à laquelle les paramètres du modèle ont été mesurés peut-être
définie en utilisant l'un des formats de paramètres de modèle suivants dans la
ligne de commande .MODEL :
T_MEASURED = <valeur
littérale>
T_MEASURED = {
<paramètre> }
Cela remplace la
valeur nominale du TNOM qui est définie dans les .OPTIONS (options d'analyse) ligne de commande (par défaut = 27°C). Tous
les autres paramètres répertoriés dans la commande .MODEL est supposé avoir été mesuré à T_MEASURED.
En
plus de la température mesurée des paramètres du modèle, les températures
actuelles de l'appareil peuvent être personnalisé pour remplacer la
spécification de température globale du circuit définie par la ligne de
commande .TEMP (température). Il existe trois formes,
décrites ci-dessous.
Paramètres du
modèle pour la température du composant (non encore implémenté)
Pour tous les
formats, <valeur> peut être une valeur littérale ou un paramètre de la
forme {<nom du paramètre>}. Une seule personnalisation de température du
composant peut coexister avec la personnalisation T_MEASURED. Par exemple,
.MODEL PNP_NEW PNP( T_ABS=35 T_MEASURED=0 BF=90 ) définit un nouveau modèle
PNP_NEW, où BF a été mesuré à 0 °C. Tout transistor bipolaire référençant ce
modèle a une température absolue de 35 °C. Exemples
Un exemple
illustre les températures des composants définies par rapport à la température
globale du circuit :
.TEMP 10 30 40
.MODEL PNP_NEW
PNP( T_REL_GLOBAL=-5 BF=90 )
Cela produit trois
exécutions PElectro où la température globale passe respectivement de 10 °C à
30 °C et 40 °C, et où tout transistor bipolaire référençant le modèle PNP_NEW
présente une température de composant de 5 °C, 25 °C ou 35 °C, respectivement.
- Commandes .OPTIONS (options d'analyse)
.OPTIONS (options
d'analyse)
Options de
drapeau
La
valeur par défaut de toute option d'indicateur est activée ou non (c'est-à-dire
le contraire de la spécification de l'option).
Objectif
La
commande .OPTIONS est utilisée pour définir toutes les options, limites et
paramètres de contrôle pour le simulateur.
Forme générale
.OPTIONS [nom
de l'option]* [ <nom de l'option>=<valeur> ]*
Exemples
.OPTIONS DEFL=12u
DEFW=8u DEFAD=150p
+ DEFAS=150p
.OPTIONS
NOICTRANSLATE CPTIME=1.0
.OPTIONS
DISTRIBUTION=GAUSS
.OPTIONS
DISTRIBUTION=USERDEF1
Commentaires
Les
options peuvent être répertoriées dans n'importe quel ordre. Il existe deux
types d'options : celles avec des valeurs et celles sans valeurs. Les
options sans valeurs sont des drapeaux qui sont activés en listant simplement
les noms de l'option.
La commande
.OPTIONS est cumulative. Autrement dit, s'il y a deux (ou plus) des commandes
.OPTIONS, l'effet est le même que si toutes les options étaient répertoriées
ensemble dans une seule .OPTIONS. Si la même option est répertoriée plusieurs
fois, seule sa dernière valeur est utilisée.
Option de
drapeau Signification
NOICTRANSLATE
Supprime la traduction des conditions initiales (attributs IC) spécifiées sur
les condensateurs et inductances en états .IC (pseudo-composants IC). Cela
signifie que les attributs IC sont ignorés si le mot-clé Skip Bias Point
(SKIPBP) n'est pas placé à la fin de l'instruction .TRAN.
GNDPLANE plan de
masse activé, les valeurs du plan de masse sont prises en compte.
ADDRESISTANCESTOSIMULATIONTRACKS
indique si les résistances calculées dans le cadre du PCB sont incluses dans le
résultat de la simulation demandée.
RANGECONVERT si
la création de la conception d’un circuit (PElectro, LTSpice ou CiDess) intègre
les distances minimales entre les composants du circuit.
Option avec un
nom comme valeur
L'option
suivante a un nom comme valeur.
Valeurs de
distribution par défaut
La
distribution par défaut est utilisée pour tous les écarts tout au long des
analyses Monte Carlo, à moins qu'elle ne soit spécifiquement remplacée pour une
tolérance particulière. La valeur par défaut pour la distribution est UNIFORM,
mais peut également être définie sur GAUSS ou sur définie par l'utilisateur
(<nom d'utilisateur>)
Distribution
Si une
distribution définie par l'utilisateur est sélectionnée, une commande .DISTRIBUTION (distribution définie par l'utilisateur)
doit être incluse dans le fichier circuit pour définir la répartition
utilisateur des tolérances. Un exemple serait :
.DISTRIBUTION
USERDEF1 (-1,1) (.5,1) (.5,0) (1,0)
Option
Signification Par défaut
DISTRIBUTION
distribution par défaut pour les écarts de Monte Carlo UNIFORM
Option de
drapeau
Commandes
.OPTIONS (options d'analyse)
.OPTIONS
DISTRIBUTION=USERDEF1
Options
numériques avec leurs valeurs par défaut
Options Description Unités
Par défaut
DEFAD (AD), Zone de drainage par défaut du MOSFET Mètre² 0.0
DEFAS (AS), Zone source par défaut du MOSFET Mètre² 0.0
DEFL (L), MOSFET longueur par défaut Mètre 100,0 u
DEFW (W), Largeur par défaut du MOSFET Mètre 100,0
u
DIGINITSTATE,
définit l'état initial de toutes les bascules et verrous du circuit : 0=clear,
1=définir, 2=X
DIGMNTYMX, Sélecteur de délai par défaut
:1=min,2=typique,3=max,4=min/max 2.0
DIGMNTYSCALE,
Facteur d'échelle utilisé pour dériver les retards minimaux des retards
typiques 0,4
DIGTYMXSCALE,
Facteur d'échelle utilisé pour dériver les retards maximaux à partir des
retards typiques 1,6
GMIN, conductance minimale utilisée dans
branches ohm 1.0E-12
GMAX, conductance maximale d’une résistance 100
MARGINX, marge horizontale 16 pixels
MARGINY, marge verticale 16 pixels
RANGEPELECTRO,
distance minimum entre les composants de conception d’un circuit PElectro 12
pixels
RANGECIDESS,
distance PElectro RANGECIDESS fois plus petit par rapport à CiDess (cette
information est divisée par 10) 20
RANGELTSPICE,
distance PElectro RANGELTSPICE fois plus petit par rapport à LTSpice 4
SWEEPTYPE, LIN, OCT ou DEC du balayage en fréquence DEC
FREQLOW, fréquence basse du balayage 1Hz
FREQHIGH, fréquence haute du balayage PetaHz
VMXTOL, tension maximale tolérée 100KV
IMXTOL, courant maximum toléré 10KA
TRACKTHICKNESS,
épaisseur de piste µm 17.5
DELTATEMP, différence de température °C 10
ER, permittivité relative du cuivre 4.6
DISSFACTOR, facteur de dissipation Watt-1 0.017
MINWIDTH, largeur minimum des pistes mils 2.9557
EC, Rigidité diélectrique Volt/mètre 20E6
RHO, Résistivité Ohm/mètre 1.725E-8
TC, Coefficient de température °C-1 0.003862
ANGLE, Angle ° 0
Z0, Impédance caractéristique Ohm 0
THKPCB, Epaisseur PCB Mètre 1.6E-3
IRRADIATION, flux
d’irradiation solaire Watt/mètre 1000
LAMBDA, longueur d’onde Mètre 5.5E-7
RUNS, nombre d’instance de simulation sans la
nominale 15
Options de
planification des modifications des paramètres d'exécution
Objectif:
La
commande .OPTIONS peut être utilisée pour planifier des modifications
automatiques de certains paramètres d'exécution au cours d'une simulation. Une
syntaxe de commande spéciale est utilisée pour cela (voir le formulaire général
ci-dessous).
Remarque
La
possibilité de planifier de telles modifications de paramètres ne s'applique
qu'à l'analyse transitoire. Vous ne pouvez pas interagir avec d'autres types
d'analyse.
Forme
générale:
.OPTIONS <Nom
du paramètre>={SCHEDULE(<valeur-temps>, <valeur-paramètre>,
<valeur-temps>, <valeur-paramètre>, …)}
Exemple:
.OPTIONS
VNTOL={SCHEDULE( 0s,1u,2s,5u)} indique que VNTOL doit avoir une valeur de 1u du
temps 0 jusqu'au temps 2s, et une valeur de 5u du temps 2s et au-delà
(c'est-à-dire : VNTOL=1u pour t, où 0 <= t < 2s, et VNTOL=5u pour t, où t
>= 2s).
NUMDGT, nombre de chiffres sortis dans les tableaux
d'impression (maximum de 8 chiffres utiles) 4
TNOM, température nominale par défaut
(température à laquelle les paramètres du modèle sont supposés avoir été
mesurés) °C 27.0
VNTOL, meilleure précision des tensions volt 1.0
uV
WIDTH, peut être réglé sur 80 ou 132) 80,0
ABSTOL meilleure précision des courants amp 1,0
pA
CHGTOL meilleure précision des charges 0,01 p
CPTIME Temps CPU autorisé pour cette exécution sec 0.0
-
Commandes
.PARAM (paramètre)
Objectif
L'instruction
.PARAM définit la valeur d'un paramètre. Un nom de paramètre peut être utilisé
à la place de la plupart des valeurs numériques dans la description du circuit.
Les paramètres peuvent être des constantes, ou expressions impliquant des
constantes, ou une combinaison de celles-ci, et elles peuvent inclure d'autres
paramètres.
Forme générale
.PARAM < <nom>
= <valeur> >*
.PARAM < <nom>
= { <expression> } >*
Exemples
.PARAM VSUPPLY =
5V
.PARAM VCC = 12V,
VEE = -12V
.PARAM BANDWIDTH
= {100kHz/3}
.PARAM PI =
3.14159, TWO_PI = {2*3.14159}
.PARAM VNUM =
{2*TWO_PI}
Arguments et
options
<nom>
Ne
peut pas commencer par un nombre, et il ne peut pas s'agir de l'un des
paramètres prédéfinis suivants, TIME, ou .TEXT (paramètre de texte). Il existe plusieurs paramètres
prédéfinis. Les valeurs des paramètres doivent être soit des constantes ou
expressions :
Paramètre
prédéfini Signification
TEMP Température
GMIN Conductance
shunt pour les jonctions p-n semi-conductrices
<valeur>
Les constantes
(<valeur>) n'ont pas besoin d'accolades { }.
<expression>
Peut contenir des
constantes ou des paramètres.
Forme générale
.PLOT <type
d'analyse> [variable de sortie]*
+ ( [<valeur
limite inférieure> , <valeur limite supérieure>] )*
Exemples
.PLOT DC V(3)
V(2,3) V(R1) I(VIN) I(R2) IB(Q13) VBE(Q13)
.PLOT AC VM(2)
VP(2) VM(3,4) VG(5) VDB(5) IR(D4)
.PLOT BRUIT
INOISE ONOISE DB(INOISE) DB(ONOISE)
.PLOT TRAN V(3)
V(2,3) V(0,5) ID(M2) I(VCC) I(-50mA,50mA)
.PLOT TRAN D(QA)
D(QB) V(3) V(2,3)
.PLOT TRAN V(3)
V(R1) V([RESET])
-
Commande
.SENS (analyse de sensibilité)
Objectif
La
commande .SENS effectue une analyse de sensibilité DC.
Forme générale
.SENS
<variable de sortie>*
Exemples
.SENS V(9) V(4,3)
V(17) I(VCC)
- .STIMLIB (fichier bibliothèque de
stimulus)
Objectif
La
commande .STIMLIB crée des fichiers de bibliothèque de stimulus.
Forme générale
.STIMLIB <nom
de fichier[.stl]>
Exemples
.STIMLIB
mylib.stl
.STIMLIB
volts.stl
.STIMLIB dgpulse
- Commandes .STIMULUS (stimulus)
Objectif
La
commande .STIMULUS englobe uniquement la partie spécification transitoire de ce
qui est autorisé dans la syntaxe de périphérique V ou I.
Forme générale
.STIMULUS <nom
du stimulus> <type> <paramètres spécifiques au type>*
Exemples
.STIMULUS
InputPulse PULSE (-1mv 1mv 2ns 2ns 50ns 100ns)
.STIMULUS
50KHZSIN SIN (0 5 50KHZ 0 0 0)
Arguments et
options
<nom du
stimulus>
Le
nom par lequel le stimulus est désigné par les dispositifs source (V ou I).
- Commandes .SUBCKT (sous-circuit)
.SUBCKT
(sous-circuit)
.ENDS
(sous-circuit de fin)
Objectif
La
commande/instruction .SUBCKT démarre la définition du sous-circuit en
spécifiant son nom, le nombre et l'ordre de ses terminaux, ainsi que les noms
et paramètres par défaut qui contrôlent son comportement. Les sous-circuits
sont instanciés à l'aide de dispositifs X (Subcircuit instanciation). La
commande .ENDS marque la fin d'une définition de
sous-circuit.
Forme générale
.SUBCKT
<nom> [nœud]*
+
[OPTIONAL : < <nœud d'interface> = <valeur par
défaut> >*]
+ [PARAMS :
< <nom> = <valeur> >* ]
+ [TEXT :
< <nom> = <valeur du texte> >* ]
...
.ENDS
Exemples
.SUBCKT OPAMP 1 2
101 102 17
...
.ENDS
.SUBCKT FILTER
INPUT, OUTPUT PARAM : CENTER=100kHz,
+ BANDWIDTH=10kHz
...
.ENDS
.SUBCKT PLD IN1
IN2 IN3 OUT1
+ PARAMS :
MNTYMXDLY=0 IO_LEVEL=0
+ TEXT :
JEDEC_FILE="PROG.JED"
...
.PREND FIN
.SUBCKT 74LS00 A
B Y
+ OPTIONAL :
DPWR=$G_DPWR DGND=$G_DGND
+ PARAMS :
MNTYMXDLY=0 IO_LEVEL=0
...
.ENDS
Arguments et
options
<nom>
Le
nom est utilisé par un dispositif X (Instanciation de sous-circuit) pour
référencer le sous-circuit.
[nœud]*
Une
liste facultative de nœuds (broches). Ceci est facultatif car il est possible
de spécifier un sous-circuit qui n'a pas de nœuds d'interface.
OPTIONAL:
Permet
de spécifier un ou plusieurs nœuds facultatifs (broches) dans la définition du
sous-circuit.
-
Commandes
.ENDS (fin de sous-circuit)
Commentaires
La
définition du sous-circuit se termine par une commande .ENDS. Toute la netlist
entre .SUBCKT et .ENDS est inclus dans la définition.
Chaque fois que le sous-circuit est utilisé par un X (Sous-circuit
Instanciation), toute la netlist dans la définition remplace le périphérique X.
Il doit y avoir
le même nombre de nœuds dans les instructions d'appel de sous-circuit que dans
sa définition.
Lorsque le
sous-circuit est appelé, les nœuds réels (ceux de l'instruction d'appel)
remplacer les nœuds d'argument (ceux de l'instruction de définition).
N'utilisez pas 0
(zéro) dans cette liste de nœuds. Zéro est réservé à la masse globale.
Les
nœuds facultatifs sont indiqués sous forme de paires constituées d'un nœud
d'interface et de sa valeur par défaut. Si un nœud facultatif n'est pas
spécifié dans un appareil X, sa valeur par défaut est utilisée à l'intérieur du
sous-circuit. Sinon, la valeur spécifiée dans la définition est utilisée.
Cette fonction
est particulièrement utile lors de la spécification des nœuds d'alimentation,
car les mêmes nœuds sont normalement utilisés dans chaque appareil. Cela rend
les sous-circuits plus faciles à utiliser car les deux mêmes nœuds n'ont pas à
être spécifiés dans chaque instruction de sous-circuit. Cette méthode est
utilisée dans les bibliothèques fournies avec la fonction Simulation numérique.
Les sous-circuits
peuvent être imbriqués. C'est-à-dire qu'un périphérique X peut apparaître entre
.SUBCKT et .ENDS commandes. Cependant, les
définitions de sous-circuit ne peuvent pas être imbriquées. C'est-à-dire une
instruction .SUBCKT ne peut pas apparaître dans les instructions
entre un .SUBCKT et un .ENDS.
Les définitions
de sous-circuit ne doivent contenir que des instanciations d'appareils
(instructions sans période) et éventuellement ces déclarations :
• .IC (condition de point de polarisation
initiale)
• .MODEL (définition du modèle)
• .PARAM (paramètre)
• .FUNC (fonction)
Les
modèles, paramètres et fonctions définis dans une définition de sous-circuit
sont disponibles uniquement dans la définition de sous-circuit dans laquelle
ils apparaissent. De plus, si un .MODEL, .PARAM ou l'instruction .FUNC apparaît dans le circuit principal, elle est disponible dans le
circuit principal et tout sous-circuits.
Les noms de nœud,
de périphérique et de modèle sont locaux au sous-circuit dans lequel ils sont
définis. Il est acceptable d'utiliser un nom dans un sous-circuit qui a déjà
été utilisé dans le circuit principal.
Exemples
d'utilisation
1-Dans l'exemple
du sous-circuit 74LS00, la référence du sous-circuit suivant utilise le nœuds
d'alimentation par défaut $G_DPWR et $G_DGND :
X1 IN1 IN2 OUT
74LS00
2-Pour spécifier
vos propres nœuds d'alimentation MYPOWER et MYGROUND, utilisez l’instanciation
de sous-circuit suivante :
X2 IN1 IN2 OUT
MYPOWER MYGROUND 74LS00
3-Si désiré, un nœud
facultatif dans l'instanciation de sous-circuit peut être fourni. Dans le
suivant l'instanciation du sous-circuit, la valeur par défaut $G_DGND serait
utilisée :
X3 IN1 IN2 OUT
MYPOWER 74LS00
4-Cependant, pour
spécifier des valeurs au-delà du premier nœud facultatif, tous les nœuds
précédents nœud doit être spécifié. Par exemple, pour spécifier votre propre
nœud de terre, le nœud Power par défaut devra être explicitement indiqué :
X4 IN1 IN2 OUT
$G_DPWR MYGROUND 74LS00
Le mot-clé
PARAMS: passe des valeurs dans les sous-circuits comme arguments et les utilise
dans expressions à l'intérieur du sous-circuit. Le mot-clé TEXT: passe les
valeurs de texte dans les sous-circuits comme arguments et les utilise comme
expressions à l'intérieur du sous-circuit. Une fois défini, un paramètre de
texte peut être utilisé dans les endroits suivants :
• Pour spécifier
un paramètre de texte à un sous-circuit (de niveau inférieur).
• Dans le cadre
d’une expression textuelle utilisée dans l’un des cas ci-dessus.
Les paramètres de
texte et les expressions ne sont actuellement utilisés que dans la simulation
numérique.
-
.STEP
(analyse paramétrique)
Objectif
La
commande .STEP effectue un balayage paramétrique pour toutes les analyses du
circuit.
La commande .STEP
est similaire à la commande .TEMP (température) en ce que toutes les analyses
typiques, telles que .DC (analyse DC), .AC
(analyse AC) et .TRAN (analyse .TRAN) sont effectuées pour chaque
étape.
Une fois toutes
les exécutions terminées, le tracé .PLOT (Plot) spécifié pour chaque valeur du balayage est une sortie,
tout comme pour le .TEMP ou .MC
(Analyse de Monte Carlo) commande.
Affiche les
balayages imbriqués sous la forme d'une famille de courbes.
Forme générale
.STEP LIN <nom
de la variable de balayage>
+ <valeur
de début> <valeur de fin> <valeur d'incrémentation>
.STEP [DEC |OCT] <nom
de la variable de balayage>
+ <valeur
de début> <valeur de fin> <valeur des points>
.STEP <nom
de la variable de balayage> LIST <valeur>*
La
première forme générale est pour faire un balayage linéaire.
La
deuxième forme est pour faire une logarithmique balayer.
La
troisième forme sert à utiliser une liste de valeurs pour la variable de
balayage.
Exemples
.STEP VCE 0V 10V
.5V
.STEP LIN I2 5mA
-2mA 0.1mA
.STEP RES RMOD(R)
0.9 1.1 .001
.STEP DEC NPN
QFAST(IS) 1E-18 1E-14 5
.STEP TEMP LIST 0
20 27 50 80 100
.STEP PARAM
CenterFreq 9.5kHz 10.5kHz 50Hz
Les
trois premiers exemples concernent un balayage linéaire. Le quatrième exemple
concerne l'exécution d'un balayage logarithmique. Le cinquième exemple concerne
l'utilisation d'une liste de valeurs pour la variable de balayage.
Arguments et
choix
Type de
balayage
Le
balayage peut être linéaire, logarithmique ou une liste de valeurs. Pour [type
de balayage linéaire], le mot-clé LIN est facultatif, mais OCT ou DEC doit
être spécifié pour le <type de balayage logarithmique>. Les types
de balayage sont décrits ci-dessous.
Types de
balayage Signification
Balayage
linéaire LIN.
La
variable de balayage est balayée linéairement depuis le début à la valeur
finale. La <valeur d'incrément> est la taille du pas.
Balayage par
octaves OCT.
La
variable de balayage est balayée logarithmiquement par octaves. La <valeur
en points> est le nombre de pas par octave.
Balayer par
décennies DEC.
La variable de
balayage est balayée logarithmiquement par décennies. La <valeur en
points> est le nombre de pas par décade.
Liste de
valeurs LIST.
Utiliser une
liste de valeurs. Dans ce cas, il n'y a pas de valeurs de début et de fin. Au
lieu de cela, les nombres qui suivent le mot-clé LIST sont les valeurs pour
lesquelles la variable de balayage est définie.
Les valeurs LIST
doivent être dans l'ordre croissant ou décroissant.
<nom de la
variable de balayage>
Le <nom de
la variable de balayage> peut être l'un des types décrits ci-dessous.
Variable de
balayage
Signification
du nom source
Nom
d'une source de tension ou de courant indépendante. Durant le balayage, la
tension ou le courant de la source est réglé sur le balayage évaluer.
Paramètre de
modèle
Un
type de modèle et un nom de modèle suivis d'un paramètre de modèle nom entre
parenthèses. Le paramètre du modèle est défini sur valeur de balayage.
Température
Utilisez
le mot-clé TEMP pour <nom de la variable de balayage>. La température est
réglée sur la valeur de balayage. Pour chaque valeur dans le balayage, tous les
composants du circuit ont leurs paramètres de modèle mis à jour à cette
température.
Paramètre
global
Utilisez
le mot-clé PARAM, suivi du nom du paramètre, pour <nom de la variable de
balayage>). Pendant le balayage, le global la valeur du paramètre est définie
sur la valeur de balayage et toutes les expressions sont réévalués.
<valeur de
départ>
Peut
être supérieur ou inférieur à <end value> : c'est-à-dire que
le balayage peut aller dans les deux sens.
<valeur
d'incrément> et <valeur de points>
Doit être
supérieur à zéro.
Commentaires
La
commande .STEP est similaire à la commande .DC
(analyse DC) et déclenche immédiatement la question de savoir ce qui se passe
si .STEP et .DC essaient de définir la même valeur. La même
question peut se poser en utilisant .MC (analyse de Monte Carlo). La réponse
est que ce n'est pas autorisé : deux analyses (.STEP, .TEMP (température), .MC, .WCASE (analyse de sensibilité/pire cas) et .DC) peuvent pas essayer de définir la même
valeur. C'est signalé comme erreur lors de la lecture et aucune analyse n'est
effectuée.
Vous
pouvez utiliser la commande .STEP pour observer la réponse d'un circuit
lorsqu'un paramètre varie, par exemple et .DC,
comment la fréquence centrale d'un filtre se décale lorsqu'un condensateur
varie. En utilisant .STEP, le condensateur peut être modifié, produisant une
famille de formes d'onde AC montrant la variation. Une autre l'utilisation est
pour le délai de propagation dans l'analyse transitoire.
Exemples
d'utilisation
Un La
commande .STEP incrémente uniquement la composante DC d'une source AC. Afin de
faire un pas de la composante AC d'une source AC, un paramètre variable doit
être créé.
Par exemple,
Vac 1 0 AC
{variable}
.param variable=0
.step param
variable 0 5 1
.ac dec 100 1000
1e6
Deux
C'est une façon de faire passer une résistance de 30 à 50 ohms par pas de 5
ohms, en utilisant un paramètre global :
.PARAM RVAL = 1
R1 1 2 {RVAL}
.STEP PARAM RVAL
30,50,5
Le paramètre RVAL
est global et PARAM est le mot clé utilisé par la commande .STEP lors de
l'utilisation d'un paramètre global.
Trois
L'exemple suivant incrémente le paramètre de modèle de résistance R. C'est une
autre façon de faire passer une résistance de 30 à 50 ohms par pas de 5 ohms.
R1 1 2 RMOD 1
.MODEL RMOD
RES(R=30)
.STEP RES RMOD(R)
30,50,5
N'utilisez pas
R={30}.
Ici RMOD est le
nom du modèle, RES est le type du nom de la variable (un type de modèle), et R
est le paramètre dans le modèle à l'étape. Pour incrémenter la valeur de la
résistance, la valeur de ligne de la résistance est multipliée par la valeur du
paramètre R pour obtenir la valeur de résistance finale, c'est-à-dire :
valeur de
résistance finale = valeur de résistance de ligne * R
Par conséquent,
si la valeur de ligne de la résistance est définie sur un ohm, la valeur finale
de la résistance est 1 * R ou R. Faire passer R de 30 à 50 ohms puis faire
passer la valeur de la résistance de 1 * 30 ohms à 1 * 50 ohms.
Dans
les exemples 2 et 3, toutes les analyses ordinaires (par exemple, .DC, .AC
et .TRAN) sont exécutées pour chaque étape.
-
Commandes
.TEMP (température)
Objectif
La
commande .TEMP définit la température à laquelle toutes les analyses sont
effectuées.
Forme générale
.TEMP <valeur
de température>*
Exemples
.TEMP 125
.TEMP 0 27 125
Commentaires
Les
températures sont en degrés Celsius.
On suppose que
les paramètres du modèle ont été mesurés ou dérivés à la température nominale,
TNOM (27°C par défaut). Voir la commande .OPTIONS (options d'analyse) pour définir TNOM.
-
Commandes
.TEXT (paramètre texte)
Objectif
La
commande .TEXT précède une liste de noms et de valeurs de texte.
Forme générale
.TEXT < <nom>
= "<valeur texte>" >*
.TEXT < <nom>
= | <expression de texte> | >*
Exemples
.TEXT MONFICHIER
= "NOMFICHIER.EXT"
.TEXT FICHIER =
"ROM.DAT", FICHIER2 = "ROM2.DAT"
.TEXT PROGDAT =
|"ROM"+TEXTINT(RUN_NO)+".DAT"|
.TEXT DATA1 =
"PLD.JED", PROGDAT = |"\PROG\DAT\"+FILENAME|
Arguments et
options
<nom>
Ne
peut pas être un nom .PARAM ou l'un des noms de paramètres réservés.
<expression
de texte>
Les
expressions de texte peuvent contenir les éléments suivants :
Expressions
textuelles Définition enfermé dans des constantes de texte " "
paramètres de texte précédemment paramètres définis
+ l'opérateur qui
concatène deux valeurs de texte
TEXTINT(<valeur
ou expression>) une fonction qui renvoie une chaîne de texte qui est la
valeur entière la plus proche de la valeur de <valeur ou expression>,
(<valeur ou expression> est une valeur à virgule flottante)
Commentaires
Les
valeurs peuvent être des constantes de texte (entre guillemets " ")
ou des expressions de texte (inclus dans |). Les expressions de texte ne
peuvent contenir que des constantes de texte ou définies précédemment en
paramètres. Une fois défini, un paramètre de texte a les utilisations
suivantes :
• Pour spécifier
un paramètre de texte à un sous-circuit.
Les paramètres et
expressions de texte ne sont utilisés que dans la simulation numérique.
Objectif
La
commande/instruction .TF provoque le calcul du gain DC des petits signaux en
linéarisant le circuit autour du point de polarisation.
Forme générale
.TF <variable
de sortie> <nom de la source d'entrée>
Exemples
.TF V(5) VIN
.TF I(VDRIV)
ICNTRL
Objectif
La
commande .NOISE effectue une analyse du bruit du circuit.
Forme générale
.NOISE
V(<nœud> [,<nœud>]) <nom> [valeur de l'intervalle]
Exemples
.NOISE V(5) VIN
.NOISE V(101)
VSRC 20
.NOISE V(4,5)
ISRC
.NOISE
V([OUT1],[OUT2]) V1
Arguments et
choix
V(<nœud>
[,<nœud>])
Tension
de sortie. Il a une forme telle que V(5), qui est la tension au nœud de sortie
cinq, ou une forme telle que V(4,5), qui est la tension de sortie entre deux
nœuds quatre et cinq.
<nom>
Le
nom d'une source de tension ou de courant indépendante où le bruit d'entrée
équivalent est calculé. Le <nom> n'est pas lui-même un générateur de
bruit, mais seulement un endroit où le bruit d'entrée équivalent est calculé.
[valeur
d'intervalle]
C’est
un Entier qui spécifie la fréquence à laquelle les données d'analyse de bruit
détaillées sont écrites.
Commentaires
Une
analyse de bruit est effectuée en conjonction avec une analyse de balayage AC
et nécessite un Commande .AC (AC analyse). Lorsque .NOISE est utilisé,
les données de bruit sont enregistrées dans la sonde pour chaque fréquence dans
le balayage AC.
Le simulateur
calcule :
• Bruit de
dispositif pour chaque résistance et semi-conducteur du circuit (propagé à un
nœud de sortie)
• Bruit total
d'entrée et de sortie
A chaque
fréquence, la contribution de chaque générateur de bruit est calculée et
propagée au nœud de sortie. À ce stade, toutes les valeurs de bruit propagé
sont additionnées RMS pour calculer le bruit de sortie total. Le gain de la
source d'entrée à la tension de sortie, le bruit de sortie total, et le bruit
d'entrée équivalent sont tous calculés.
Si:
<nom> est
une source de tension
Alors:
les unités de
bruit d'entrée sont volt/hertz½
Si:
<nom> est
une source de courant
Alors:
les unités de
bruit d'entrée sont amp/hertz½
Les unités de
bruit de sortie sont toujours volt/hertz½
Chaque nième fréquence,
où n est l'intervalle d'affichage, un tableau détaillé est imprimé indiquant la
contribution de tous les générateurs de bruit du circuit au bruit total. Ces
valeurs sont les quantités de bruit propagées au nœud de sortie, et non les
quantités de bruit à chaque générateur. Si [valeur d'intervalle] n'est pas
présent, aucun affichage n'est effectué.
-
Commandes
.TRAN (analyse transitoire)
Objectif
La
commande .TRAN provoque une analyse transitoire à effectuer sur le circuit et
spécifie la période de temps pour l'analyse.
Forme générale
.TRAN <valeur
de pas d'impression> <valeur de temps final>
+[valeur sans
impression [valeur plafond échelon]]
Exemples
.TRAN 1ns 100ns
.TRAN 1ns 100ns
20ns
.TRAN 1ns 100ns
0ns .1ns
.TRAN 1ns 100ns
0ns {SCHEDULE(0,1ns,25ns,.1ns)}
-
Commandes
.WCASE (analyse de sensibilité/pire cas)
Objectif
L'instruction
.WCASE provoque une analyse de sensibilité et du pire des cas du circuit.
Forme générale
.WCASE
<analyse> <variable de sortie> <fonction> [option]*
Exemples
.WCASE TRAN V(5)
YMAX
.WCASE DC IC (Q7)
YMAX VARY DEV
.WCASE AC
VP(13,5) YMAX DEVICES RQ OUTPUT ALL
.WCASE TRAN
V([OUT1],[OUT2]) YMAX RANGE(.4u,.6u)
+ LIST OUTPUT ALL VARY DEV HI
Arguments et
options
<analyse>
Un
seul de DC, AC ou TRAN doit être spécifié pour <analyse>. Cette analyse
est répétée dans les passages suivants de l'analyse du pire des cas. Toutes les
analyses demandées sont effectuées pendant le passage nominal. Seule l'analyse
sélectionnée est effectuée lors des passes.
<variable
de sortie>
Format
identique à celui d'une variable de sortie.
<fonction>
Spécifie
l'opération à effectuer sur les valeurs de la <variable de sortie> pour
réduire ceux-ci à une valeur unique. Cette valeur sert de base aux comparaisons
entre la valeur nominale et les courses suivantes. La <fonction>
doit être l'une des suivantes :
YMAX Trouvez la
valeur absolue de la plus grande différence dans chaque forme d'onde de la
course nominale.
MAX Trouver la
valeur maximale de chaque forme d'onde.
MIN Trouvez la
valeur minimale de chaque forme d'onde.
RISE_EDGE(<valeur>)
Trouver la première occurrence du croisement de forme d'onde au-dessus du seuil
<valeur>. La forme d'onde doit avoir un ou plusieurs points à ou
au-dessous de <valeur> suivi d'un au-dessus. La valeur de sortie
répertoriée est l'endroit où la forme d'onde augmente au-dessus <valeur>.
FALL_EDGE(<valeur>)
Trouver la première occurrence du croisement de la forme d'onde sous le seuil
<valeur>. La forme d'onde doit avoir un ou plusieurs points à ou
au-dessus de <valeur> suivi par un ci-dessous. La valeur de sortie
répertoriée est l'endroit où la forme d'onde diminue en dessous <valeur>.
[option]*
Pourrait
avoir n'importe quel nombre des éléments suivants.
LIST Imprime les
paramètres de modèle mis à jour pour l'analyse de sensibilité.
Cela n'affecte
pas les données de sonde générées par la simulation.
OUTPUT ALL
Imprime la sortie des analyses de sensibilité, après la (première) analyse
nominale.
INTERVAL*(<valeur
faible>, <valeur élevée>)
* Si RANGE est
omis, alors la <fonction> est évaluée sur toute la plage de balayage.
Ceci équivaut à RANGE(*,*).
Restreint la
plage sur laquelle la <fonction> peut être évaluée. L'astérisque * peut
être utilisé à la place d'une <valeur> à afficher pour toutes les
valeurs.
Par exemple,
voyez les deux lignes suivantes.
YMAX RANGE(*,.5)
YMAX est évalué
pour les valeurs de la variable de balayage (par exemple, temps et fréquence)
de 0,5 ou moins.
MAX RANGE(-1,*)
Le maximum de la variable de sortie est trouvé pour les valeurs de variable de
balayage de -1 ou plus.
HI ou LOW
Spécifiez la direction dans laquelle la <fonction> doit se déplacer pour
le 1, * pire des cas est d'aller (par rapport au nominal). Si <fonction>
est YMAX ou MAX, la valeur par défaut est HI, sinon la valeur par défaut est
LOW.
VARY DEV|
VARY LOT|
VARY BOTH
Par défaut, tout
appareil qui a un paramètre de modèle spécifiant soit une tolérance DEV soit
une tolérance LOT est incluse dans l'Analyse. L'analyse peut être limitée aux
seuls appareils qui ont des tolérances DEV ou LOT en spécifiant l'option
appropriée.
La valeur par
défaut est VARY BOTH. Lorsque VARY BOTH est utilisé, la sensibilité à les paramètres
utilisant à la fois les spécifications DEV et LOT sont vérifiés uniquement en
ce qui concerne les variations de LOT. Le paramètre est alors maximisé ou
minimisé en utilisant à la fois les tolérances DEV et LOT pour le pire des cas.
Tous les
appareils référençant le modèle ont les mêmes valeurs de paramètres pour la
simulation du pire des cas.
DEVICES (liste des types d'appareils)
Par
défaut, tous les appareils sont inclus dans la sensibilité et le pire des cas
analyses. Les appareils considérés peuvent être limités en listant l'appareil
types après le mot-clé DEVICES. N'utilisez pas d'espaces ou de tabulations dans
la liste des appareils. Par exemple, pour n'effectuer l'analyse que sur
résistances et MOSFET, entrez :
Commentaires
Plusieurs
analyses de l'analyse sélectionnée (DC, AC ou transitoire) sont effectuées
pendant que les paramètres sont variés. Une fois toutes les sensibilités sont
connues, une dernière passe est effectuée en utilisant tous les paramètres
variés de manière à produire la forme d'onde la plus défavorable. Les analyses
de sensibilité et du pire des cas sont effectuées en utilisant les variations
sur les paramètres du modèle comme spécifié par les tolérances DEV et LOT sur
chaque Paramètre .MODEL (définition du modèle). D'autres
spécifications sur la commande .WCASE contrôlent la sortie générée par
l’Analyse.
Vous pouvez
exécuter .MC ou .WCASE pour un circuit, mais pas les deux
dans le même circuit.
Objectif
Une
déclaration commençant par un astérisque * est une ligne de commentaire.
Forme générale
* [tout texte]
Exemples
* Ceci est un
exemple de
* commentaire sur
plusieurs lignes
Commentaires
Utilisez
un astérisque au début de chaque ligne que vous souhaitez utiliser comme
commentaire. Un seul astérisque fait ne s'étend pas aux lignes suivantes. Par
exemple :
* .MODEL ABC NMOS
(. . . .
+ . . . .)
Produit un
message d'erreur, car la deuxième ligne n'est pas couverte par le premier
astérisque.
L'utilisation de
commentaires tout au long de la saisie est recommandée. C'est une bonne
pratique d’insérer une ligne de commentaire juste avant une définition de
sous-circuit pour identifier les nœuds, par exemple :
* +IN -IN V+ V-
+OUT -OUT
.SUBCKT OPAMP 100
101 1 2 200 201
ou pour
identifier les principaux blocs de circuits.
- Commandes ; (commentaire en ligne)
Objet
Un
point-virgule ; est traité comme la fin d'une ligne.
Texte de fichier
de circuit de forme générale [tout texte]
Exemples
R13 6 8 10 ; R13
est une résistance de rétroaction
C3 15 0 .1U ;
découpler
Commentaires
Le
simulateur passe à la ligne suivante du fichier circuit. Le texte sur la ligne
après le point-virgule ; est un commentaire et n'a aucun effet. L'utilisation
de commentaires tout au long de la saisie est conseillé. Ce type de commentaire
peut également remplacer les lignes de commentaires, qui doivent commencer par
* dans la première colonne.
Les commentaires
en ligne de fin qui s'étendent sur plus d'une ligne peuvent utiliser un
point-virgule pour marquer le début des lignes de commentaires suivantes, comme
illustré dans l'exemple.
-
Commandes
+ (suite de ligne)
Objet
Un
signe plus + est traité comme la continuation de la ligne précédente.
Texte de fichier
de circuit de forme générale
+ plus de texte
Exemples
.DISTRIBUTION
bi_modal (-1,1) (-.5,1) (-.5,0) (.5,0)
+ (.5,1) (1,1)
Commentaires
Parce
que le simulateur lit la ligne précédée d'un signe plus dans la continuité de
la précédente ligne, vous pouvez utiliser le signe plus pour séparer les
longues lignes de texte de commande.